
package ${packageName};


<#list imports as import>
import ${import};
</#list>
import ${basePackage}.entity.${underlineToCamel(sourceTable?lower_case,true?string)}Entity;
import ${basePackage}.param.${underlineToCamel(sourceTable?lower_case,true?string)}Param;
import ${basePackage}.vo.${underlineToCamel(sourceTable?lower_case,true?string)}Vo;


/**
* @version V1.0
* ${sourceTableDesc}:${sourceTable} 对应商业服务接口.
* @InterfaceName: ${underlineToCamel(sourceTable?lower_case,true?string)}Service
* @Description: ${sourceTableDesc}:${sourceTable} 对应商业服务接口.
* @author: ${author}
* @date:   ${.now}
* @Copyright: Copyright (c) ${.now?string('yyyy')}
*/
public interface ${underlineToCamel(sourceTable?lower_case,true?string)}Service extends IService<${underlineToCamel(sourceTable?lower_case,true?string)}Entity> {

    /**
    * 根据ID查询单个${sourceTableDesc}对象
    * @param id 组键ID
    * @return 单个${sourceTableDesc}VO对象
    */
    ${underlineToCamel(sourceTable?lower_case,true?string)}Vo queryById(Serializable id);


    /**
    * 根据ID集合查询返回${sourceTableDesc}列表
    * @param idList 组键ID集合
    * @return ${sourceTableDesc}列表
    */
    List<${underlineToCamel(sourceTable?lower_case,true?string)}Vo> queryByIds(Collection<? extends Serializable> idList);

    /**
    * 分页查询 ${sourceTableDesc} 信息
    * @param page 分页对象
    * @param param 查询参数
    * @return IPage<${underlineToCamel(sourceTable?lower_case,true?string)}Vo> 分页对象
    */
    IPage<${underlineToCamel(sourceTable?lower_case,true?string)}Vo> queryForPage(IPage page,${underlineToCamel(sourceTable?lower_case,true?string)}Param param);

    /**
    * 根据条件查询返回 ${sourceTableDesc} 对象列表
    * @param  param 查询参数
    * @return ${sourceTableDesc} 对象列表
    */
    List<${underlineToCamel(sourceTable?lower_case,true?string)}Vo> queryForList(${underlineToCamel(sourceTable?lower_case,true?string)}Param param);

    /**
    * 添加${sourceTableDesc}到数据库
    * @param vo  ${sourceTableDesc} VO对象
    * @return 添加后的${sourceTableDesc} VO对象
    */
    ${underlineToCamel(sourceTable?lower_case,true?string)}Vo add(${underlineToCamel(sourceTable?lower_case,true?string)}Vo vo);

    /**
    * 添加${sourceTableDesc}集合列表到数据库
    * @param vos  ${sourceTableDesc} VO对象列表
    * @return 添加后的${sourceTableDesc} VO对象集合列表
    */
    List<${underlineToCamel(sourceTable?lower_case,true?string)}Vo> adds(List<${underlineToCamel(sourceTable?lower_case,true?string)}Vo> vos);

    /**
    * 更新${sourceTableDesc}到数据库
    * @param vo 要更新的${sourceTableDesc} VO对象
    * @return 更新后的${sourceTableDesc} VO对象
    */
    ${underlineToCamel(sourceTable?lower_case,true?string)}Vo modify(${underlineToCamel(sourceTable?lower_case,true?string)}Vo vo);

    /**
    * 更新${sourceTableDesc}集合列表到数据库
    * @param vos 要更新的${sourceTableDesc} VO对象集合
    * @return 更新后的${sourceTableDesc} VO对象集合
    */
    List<${underlineToCamel(sourceTable?lower_case,true?string)}Vo> modifys(List<${underlineToCamel(sourceTable?lower_case,true?string)}Vo> vos);

}